package com.das.mechanic_base.gen;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.das.mechanic_base.bean.custrecord.CustomRecordListBean;
import com.das.mechanic_base.bean.greendao.AddTagBean;
import com.das.mechanic_base.bean.siveprocess.SiveTotalReportBean;
import com.das.mechanic_base.bean.siveprocess.SiveProBean;
import com.das.mechanic_base.bean.siveprocess.SiveReportBean;
import com.das.mechanic_base.bean.search.SaveSearchBean;
import com.das.mechanic_base.bean.alone.AloneSearchBean;
import com.das.mechanic_base.bean.alone.AloneImageBean;
import com.das.mechanic_base.bean.alone.AloneItemCommentBean;
import com.das.mechanic_base.bean.main.CarMemberBean;
import com.das.mechanic_base.bean.main.MineRecordBean;
import com.das.mechanic_base.gen.MethodTransferBean;
import com.das.mechanic_base.gen.WorkNewImageBean;
import com.das.mechanic_base.gen.WorkProcessEntityBean;

import com.das.mechanic_base.gen.CustomRecordListBeanDao;
import com.das.mechanic_base.gen.AddTagBeanDao;
import com.das.mechanic_base.gen.SiveTotalReportBeanDao;
import com.das.mechanic_base.gen.SiveProBeanDao;
import com.das.mechanic_base.gen.SiveReportBeanDao;
import com.das.mechanic_base.gen.SaveSearchBeanDao;
import com.das.mechanic_base.gen.AloneSearchBeanDao;
import com.das.mechanic_base.gen.AloneImageBeanDao;
import com.das.mechanic_base.gen.AloneItemCommentBeanDao;
import com.das.mechanic_base.gen.CarMemberBeanDao;
import com.das.mechanic_base.gen.MineRecordBeanDao;
import com.das.mechanic_base.gen.MethodTransferBeanDao;
import com.das.mechanic_base.gen.WorkNewImageBeanDao;
import com.das.mechanic_base.gen.WorkProcessEntityBeanDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig customRecordListBeanDaoConfig;
    private final DaoConfig addTagBeanDaoConfig;
    private final DaoConfig siveTotalReportBeanDaoConfig;
    private final DaoConfig siveProBeanDaoConfig;
    private final DaoConfig siveReportBeanDaoConfig;
    private final DaoConfig saveSearchBeanDaoConfig;
    private final DaoConfig aloneSearchBeanDaoConfig;
    private final DaoConfig aloneImageBeanDaoConfig;
    private final DaoConfig aloneItemCommentBeanDaoConfig;
    private final DaoConfig carMemberBeanDaoConfig;
    private final DaoConfig mineRecordBeanDaoConfig;
    private final DaoConfig methodTransferBeanDaoConfig;
    private final DaoConfig workNewImageBeanDaoConfig;
    private final DaoConfig workProcessEntityBeanDaoConfig;

    private final CustomRecordListBeanDao customRecordListBeanDao;
    private final AddTagBeanDao addTagBeanDao;
    private final SiveTotalReportBeanDao siveTotalReportBeanDao;
    private final SiveProBeanDao siveProBeanDao;
    private final SiveReportBeanDao siveReportBeanDao;
    private final SaveSearchBeanDao saveSearchBeanDao;
    private final AloneSearchBeanDao aloneSearchBeanDao;
    private final AloneImageBeanDao aloneImageBeanDao;
    private final AloneItemCommentBeanDao aloneItemCommentBeanDao;
    private final CarMemberBeanDao carMemberBeanDao;
    private final MineRecordBeanDao mineRecordBeanDao;
    private final MethodTransferBeanDao methodTransferBeanDao;
    private final WorkNewImageBeanDao workNewImageBeanDao;
    private final WorkProcessEntityBeanDao workProcessEntityBeanDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        customRecordListBeanDaoConfig = daoConfigMap.get(CustomRecordListBeanDao.class).clone();
        customRecordListBeanDaoConfig.initIdentityScope(type);

        addTagBeanDaoConfig = daoConfigMap.get(AddTagBeanDao.class).clone();
        addTagBeanDaoConfig.initIdentityScope(type);

        siveTotalReportBeanDaoConfig = daoConfigMap.get(SiveTotalReportBeanDao.class).clone();
        siveTotalReportBeanDaoConfig.initIdentityScope(type);

        siveProBeanDaoConfig = daoConfigMap.get(SiveProBeanDao.class).clone();
        siveProBeanDaoConfig.initIdentityScope(type);

        siveReportBeanDaoConfig = daoConfigMap.get(SiveReportBeanDao.class).clone();
        siveReportBeanDaoConfig.initIdentityScope(type);

        saveSearchBeanDaoConfig = daoConfigMap.get(SaveSearchBeanDao.class).clone();
        saveSearchBeanDaoConfig.initIdentityScope(type);

        aloneSearchBeanDaoConfig = daoConfigMap.get(AloneSearchBeanDao.class).clone();
        aloneSearchBeanDaoConfig.initIdentityScope(type);

        aloneImageBeanDaoConfig = daoConfigMap.get(AloneImageBeanDao.class).clone();
        aloneImageBeanDaoConfig.initIdentityScope(type);

        aloneItemCommentBeanDaoConfig = daoConfigMap.get(AloneItemCommentBeanDao.class).clone();
        aloneItemCommentBeanDaoConfig.initIdentityScope(type);

        carMemberBeanDaoConfig = daoConfigMap.get(CarMemberBeanDao.class).clone();
        carMemberBeanDaoConfig.initIdentityScope(type);

        mineRecordBeanDaoConfig = daoConfigMap.get(MineRecordBeanDao.class).clone();
        mineRecordBeanDaoConfig.initIdentityScope(type);

        methodTransferBeanDaoConfig = daoConfigMap.get(MethodTransferBeanDao.class).clone();
        methodTransferBeanDaoConfig.initIdentityScope(type);

        workNewImageBeanDaoConfig = daoConfigMap.get(WorkNewImageBeanDao.class).clone();
        workNewImageBeanDaoConfig.initIdentityScope(type);

        workProcessEntityBeanDaoConfig = daoConfigMap.get(WorkProcessEntityBeanDao.class).clone();
        workProcessEntityBeanDaoConfig.initIdentityScope(type);

        customRecordListBeanDao = new CustomRecordListBeanDao(customRecordListBeanDaoConfig, this);
        addTagBeanDao = new AddTagBeanDao(addTagBeanDaoConfig, this);
        siveTotalReportBeanDao = new SiveTotalReportBeanDao(siveTotalReportBeanDaoConfig, this);
        siveProBeanDao = new SiveProBeanDao(siveProBeanDaoConfig, this);
        siveReportBeanDao = new SiveReportBeanDao(siveReportBeanDaoConfig, this);
        saveSearchBeanDao = new SaveSearchBeanDao(saveSearchBeanDaoConfig, this);
        aloneSearchBeanDao = new AloneSearchBeanDao(aloneSearchBeanDaoConfig, this);
        aloneImageBeanDao = new AloneImageBeanDao(aloneImageBeanDaoConfig, this);
        aloneItemCommentBeanDao = new AloneItemCommentBeanDao(aloneItemCommentBeanDaoConfig, this);
        carMemberBeanDao = new CarMemberBeanDao(carMemberBeanDaoConfig, this);
        mineRecordBeanDao = new MineRecordBeanDao(mineRecordBeanDaoConfig, this);
        methodTransferBeanDao = new MethodTransferBeanDao(methodTransferBeanDaoConfig, this);
        workNewImageBeanDao = new WorkNewImageBeanDao(workNewImageBeanDaoConfig, this);
        workProcessEntityBeanDao = new WorkProcessEntityBeanDao(workProcessEntityBeanDaoConfig, this);

        registerDao(CustomRecordListBean.class, customRecordListBeanDao);
        registerDao(AddTagBean.class, addTagBeanDao);
        registerDao(SiveTotalReportBean.class, siveTotalReportBeanDao);
        registerDao(SiveProBean.class, siveProBeanDao);
        registerDao(SiveReportBean.class, siveReportBeanDao);
        registerDao(SaveSearchBean.class, saveSearchBeanDao);
        registerDao(AloneSearchBean.class, aloneSearchBeanDao);
        registerDao(AloneImageBean.class, aloneImageBeanDao);
        registerDao(AloneItemCommentBean.class, aloneItemCommentBeanDao);
        registerDao(CarMemberBean.class, carMemberBeanDao);
        registerDao(MineRecordBean.class, mineRecordBeanDao);
        registerDao(MethodTransferBean.class, methodTransferBeanDao);
        registerDao(WorkNewImageBean.class, workNewImageBeanDao);
        registerDao(WorkProcessEntityBean.class, workProcessEntityBeanDao);
    }
    
    public void clear() {
        customRecordListBeanDaoConfig.clearIdentityScope();
        addTagBeanDaoConfig.clearIdentityScope();
        siveTotalReportBeanDaoConfig.clearIdentityScope();
        siveProBeanDaoConfig.clearIdentityScope();
        siveReportBeanDaoConfig.clearIdentityScope();
        saveSearchBeanDaoConfig.clearIdentityScope();
        aloneSearchBeanDaoConfig.clearIdentityScope();
        aloneImageBeanDaoConfig.clearIdentityScope();
        aloneItemCommentBeanDaoConfig.clearIdentityScope();
        carMemberBeanDaoConfig.clearIdentityScope();
        mineRecordBeanDaoConfig.clearIdentityScope();
        methodTransferBeanDaoConfig.clearIdentityScope();
        workNewImageBeanDaoConfig.clearIdentityScope();
        workProcessEntityBeanDaoConfig.clearIdentityScope();
    }

    public CustomRecordListBeanDao getCustomRecordListBeanDao() {
        return customRecordListBeanDao;
    }

    public AddTagBeanDao getAddTagBeanDao() {
        return addTagBeanDao;
    }

    public SiveTotalReportBeanDao getSiveTotalReportBeanDao() {
        return siveTotalReportBeanDao;
    }

    public SiveProBeanDao getSiveProBeanDao() {
        return siveProBeanDao;
    }

    public SiveReportBeanDao getSiveReportBeanDao() {
        return siveReportBeanDao;
    }

    public SaveSearchBeanDao getSaveSearchBeanDao() {
        return saveSearchBeanDao;
    }

    public AloneSearchBeanDao getAloneSearchBeanDao() {
        return aloneSearchBeanDao;
    }

    public AloneImageBeanDao getAloneImageBeanDao() {
        return aloneImageBeanDao;
    }

    public AloneItemCommentBeanDao getAloneItemCommentBeanDao() {
        return aloneItemCommentBeanDao;
    }

    public CarMemberBeanDao getCarMemberBeanDao() {
        return carMemberBeanDao;
    }

    public MineRecordBeanDao getMineRecordBeanDao() {
        return mineRecordBeanDao;
    }

    public MethodTransferBeanDao getMethodTransferBeanDao() {
        return methodTransferBeanDao;
    }

    public WorkNewImageBeanDao getWorkNewImageBeanDao() {
        return workNewImageBeanDao;
    }

    public WorkProcessEntityBeanDao getWorkProcessEntityBeanDao() {
        return workProcessEntityBeanDao;
    }

}
